package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.IRoleDTO;
import com.cuixichang.minimalism.transfer.page.IRolePageRequest;
import com.cuixichang.minimalism.transfer.page.IRoleRequest;
import com.cuixichang.minimalism.transfer.vo.IRoleVO;
import com.cuixichang.minimalism.transfer.po.IRole;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 角色信息管理表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface IRoleAssembler {

    IRoleAssembler INSTANCT = Mappers.getMapper(IRoleAssembler.class);

    IRoleDTO convertDto(IRoleRequest request);

    IRoleDTO convertDto(IRolePageRequest request);

    IRole convertPo(IRoleDTO dto);

    IRoleDTO convertDto(IRole po);

    IRoleVO convertVo(IRoleDTO dto);
}